Autonomous storage and retrieval tower

ABSTRACT

An autonomous storage and retrieval tower for receiving, storing, and dispensing free physical products.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application is a continuation of U.S. application Ser. No. 16/507,998, filed Jul. 10, 2019, which claims priority to U.S. Application No. 62/697,238, filed on Jul. 12, 2018, the content of each of which is hereby incorporated by reference in its entirety.

BACKGROUND

Storage and retrieval towers, also known as automated kiosks or pickup towers, are used in some retail facilities to enable customers to retrieve items from the pickup towers.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one or more embodiments of the disclosure and, together with the description, help to explain the disclosure. The drawings are not necessarily to scale, or inclusive of all elements of a system, emphasis instead generally being placed upon illustrating the concepts, structures, and techniques sought to be protected herein. In the drawings:

FIG. 1 is a schematic diagram of an interior view of an autonomous storage and retrieval tower in accordance with an example embodiment;

FIG. 2 illustrates a network diagram depicting a system for implementing the autonomous storage and retrieval tower in accordance with an example embodiment;

FIG. 3 is a block diagram of an exemplary computing device that may be used to implement exemplary embodiments described herein; and

FIGS. 4A-4B are flow diagrams showing illustrative processing that can be implemented with the autonomous storage and retrieval tower in accordance with an example embodiment.

DETAILED DESCRIPTION

Exemplary embodiments provide an autonomous storage and retrieval tower used to receive, store, and dispense physical items, including free physical items. A customer may order physical items online and select the “pick-up” option at checkout. When the ordered physical items arrive at a store local to the customer, a store associate may load the ordered physical items into the autonomous storage and retrieval tower. When the customer arrives at the store, the customer can proceed to the autonomous storage and retrieval tower and enter or scan a code associated with the order. The customer may then promptly receive the ordered physical items from the autonomous storage and retrieval tower.

The autonomous storage and retrieval tower includes a housing and shelves within the housing. Each shelf is configured to support one or more physical items. The tower further includes a storage receptacle for receiving physical items to be stored by the autonomous storage and retrieval tower and/or for outputting physical items from the autonomous storage and retrieval tower. The autonomous storage and retrieval tower includes and/or is in communication with an application programming interface (API). The API is in communication with a fulfillment server and enables the fulfillment server to interact with the autonomous storage and retrieval tower for tracking physical items within the autonomous storage and retrieval tower. The fulfillment server is part of a fulfillment system used to receive and fulfill customer orders, such as orders submitted online. Orders are received through the fulfillment system, including orders being shipped into a store for pick-up by a customer. The orders may include information, such as an image, a price, an order number, a universal item code (UPC), and a deadline.

The autonomous storage and retrieval tower includes an input device for receiving input, such as a code, from a user when storing a physical item in the autonomous storage and retrieval tower. The input device may be a keyboard or a scanner. The input is entered into the input device to identify the physical item being entered into the autonomous storage and retrieval tower. The input is received by a controller that controls receiving and storing the physical item within the autonomous storage and retrieval tower. The controller further communicates with the fulfillment server regarding a location of the physical item stored within the autonomous storage and retrieval tower.

In some embodiments, the input is an alphabetical code, a numerical code, or an alpha-numerical code. In further embodiments, the code may be encoded in a machine readable identifier such as a bar code, a Radio Frequency Identification (RFID) tag, or other type of machine readable codes. For example, the code may be encoded as a barcode that, for example, may be rendered on paper or on a mobile device that the user can scan at the scanner.

In some embodiments, when storing a free physical item in the autonomous storage and retrieval tower, a code that includes a specified identifier is entered into the input device to identify the physical item as a free physical item. For example, the user may enter or scan a code that starts with a specified character or characters, such as, for example, “G” for gift. The free physical item is not associated with an order. In a normal operating mode, scanning a UPC or other identifier associated with a physical item when the physical item is being inserted into the tower for storage causes the controller associated with the tower to communicate with the fulfillment system via the API. However, entering the code causes the controller within the autonomous storage and retrieval tower to implement an exception operating mode in which the controller disables and/or does not engage the API. In some instances, if the code was input to the API, the code may cause an error in the API or otherwise may not be recognized by the API. The autonomous storage and retrieval tower then receives the physical item on a tray and stores the physical item on a shelf within the autonomous storage and retrieval tower without communicating with the fulfillment system via the API. The controller enters a location of the physical item into a database within the autonomous storage and retrieval tower. Once the item is stored within the autonomous storage and retrieval tower, the controller reactivates or re-engages the API.

In an illustrative example, the controller receives an input from the input device, where the input is associated with a free gift that will be provided to a customer using the autonomous storage and retrieval tower to pick-up an order. The controller analyzes the input for a specified identifier, where the specified identifier is associated with storing a free physical item, such as a gift, that is not associated with an order. In some embodiments, the specified identifier is one or more letters or one or more numbers included within the code. The controller identifies the specified identifier in the input as an identifier associated with a free physical item. Accordingly, the controller disables or does not engage the API. The disabling or disengaging of the API prevents the autonomous storage and retrieval tower from communicating with the fulfillment server. The controller instructs the storing of the free physical item associated with the input, wherein the physical item is placed on a tray in the storage receptacle and transported to a shelf within the tower. The controller further enters a location (e.g., a container number and a shelf number) of the physical item within the autonomous storage and retrieval tower into the database. After the free physical item is stored with the autonomous storage and retrieval tower, the controller enables or re-engages the API.

In some embodiment, upon storing the physical item in the autonomous storage and retrieval tower, the controller transmits a notification, such as an e-mail or text message, to a customer that includes the code. The customer can enter or scan the code at the autonomous storage and retrieval tower to retrieve the physical item for free. The tower recognizes the code as a free or promotional item code, thereupon the API is deactivated and/or is not engaged, and the physical item is dispensed as a gift, as described above.

The input device may also be used to receive an input from a user for retrieving a physical item from the autonomous storage and retrieval tower. In an exemplary embodiment, when retrieving a free physical item in the autonomous storage and retrieval tower, the controller receives the input from the input device. In some embodiments, the input used to store the free physical item in the autonomous storage and retrieval tower may be different from the input used to retrieve the free physical item from the autonomous storage and retrieval tower. The controller analyzes the input that includes the specified identifier associated with the free physical item. Upon identifying the specified identifier in the input, the controller disables and/or does not engage the API. The disabling or disengaging of the API prevents the autonomous storage and retrieval tower from communicating with the fulfillment server. The controller instructs retrieval of the free physical item associated with the input. The free physical item is transported from its storage location to the storage receptacle. Once the free physical item is dispensed from the storage receptacle, the controller enables or re-engages the API.

In some embodiments, the autonomous storage and retrieval tower may include a user interface that displays database information associated with the free physical items, such as types of free physical items, locations of the free physical items, how many trays are used for the free physical items, etc. Once a free physical item is dispensed, the database may be updated but the information associated with the free physical product is typically not used for other purposes.

FIG. 1 is a schematic diagram of an interior view of an autonomous storage and retrieval tower 100 (referred to as storage tower 100) in accordance with an exemplary embodiment. The storage tower 100 may be physically located at the front area of a store and used for storing orders for customer pickup. For example, the customer may arrive at a receiving and/or delivery opening 116 and present proof of purchase (e.g., a code) to an input device, and the item is dispensed from the storage tower 100 to the customer.

The storage tower 100 can include a housing 101. The housing 101 can include, for example, eight interior walls. In some embodiments, the housing can have an octagonal column or octagonal cylinder shape. The interior of the storage tower 100 can include a shelving unit 102, physical items 104 disposed in or on containers 108 on the shelving unit 102, a robotic crane 106, a boom or shaft 110, a rotating base 112, and at least one receiving and/or delivery opening 116 (e.g., a storage receptacle). Containers 108 may be received at the autonomous storage and retrieval tower 100 via a variety of mechanisms such as, but not limited to, a conveyor belt delivering the containers to or through the opening 116. Containers 108 may be inserted into the storage tower 100 or dispensed from the storage tower 100 through the opening 116. The shelving unit 102 can include shelves configured to store and support containers holding physical items 104. The shelving unit 102 can be disposed along one or each of the interior walls of the storage tower 100. The shaft 110 can extend vertically within the housing 101 in a cavity surrounded by the shelves. In some embodiments, the shaft 110 can extend along a central axis of the housing. The robotic crane 106 can extend perpendicularly from the shaft 110. The robotic crane 106 is configured to traverse the shaft 110 to store and retrieve containers 108 on the shelving unit 102. The rotating base 112 can be configured to rotate the shaft 110, 360 degrees, around the interior of the storage tower 100 so that the shaft 112 is perpendicular to the appropriate shelving unit 102 containing a physical item 104. The robotic crane 106 can move up and down vertically along the shaft 110 to align itself with the shelf on which a physical item 104 is disposed. The robotic crane 106 can receive instructions from a controller 125 to load a physical item 104 from the shelving unit 102 (or its container) onto the robotic crane 106 and transport the physical item 104 to the opening 116 or to retrieve a physical item 104 from the opening 116 to load the physical item 104 onto a shelving unit 102 for storage in the storage tower 100.

In an exemplary embodiment, the storage tower 100 includes and/or is in communication with an application programming interface (API) 126. The API 126 is in communication with a fulfillment server 128 and enables the fulfillment server 128 to interact with the storage tower 100 for tracking physical items within the storage tower 100. The fulfillment server 128 may also include an API 130 that can interact with the storage tower 100. The storage tower 100 may further includes a database 127 for storing data and locations associated with physical items stored within the storage tower 100.

FIG. 2 illustrates a network diagram depicting a system 200 for implementing the autonomous storage and retrieval tower 100, according to an example embodiment. The system 200 can include the autonomous storage and retrieval tower 100, a network 204, and the fulfillment server 128. Each of the autonomous storage and retrieval tower 100 and the server 128 is in communication with the network 204 and may connect to network 204 via a wired or wireless connection. The server 128 comprises one or more computers or processors configured to communicate with the autonomous storage and retrieval tower 100 via network 204. The server 128 can include one or more components of device 300 of FIG. 3.

In an example embodiment, one or more portions of network 204 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless wide area network (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a cellular telephone network, a wireless network, a WiFi network, a WiMax network, another type of network, or a combination of two or more such networks.

Server 128 hosts one or more software systems, applications or websites, including one or more components of the fulfillment system described herein. In an example embodiment, the server 128 also includes various software services that facilitate the functionalities of the fulfillment system. The fulfillment system is used to receive and fulfill orders, such as orders submitted online. Orders being shipped into a store are received through the fulfillment system. The orders may include information, such as an image, a price, an order number, a universal item code (UPC), and a deadline.

The autonomous storage and retrieval tower 100 includes and/or is in communication with the application programming interface (API) 126, which can be in communication with a fulfillment server 128 and can enable the fulfillment server 128 to interact with the storage tower 100 for tracking physical items within the storage tower 100 when the storage tower is operating in a normal mode of operation. The fulfillment server 128 may also include the API 130 that can interact with the storage tower 100.

FIG. 3 is a block diagram of an exemplary computing device 300 that can be used to perform one or more steps of the methods provided by exemplary embodiments. For example, computing device 300 may be the fulfillment server 128 or included within autonomous storage and retrieval tower 100. The computing device 300 includes one or more non-transitory computer-readable media for storing one or more computer-executable instructions or software for implementing exemplary embodiments. The non-transitory computer-readable media can include, but are not limited to, one or more types of hardware memory, non-transitory tangible media (for example, one or more magnetic storage disks, one or more optical disks, one or more USB flashdrives), and the like. For example, memory 306 included in the computing device 300 can store computer-readable and computer-executable instructions or software for implementing exemplary embodiments. The computing device 300 also includes processor 302 and associated core 304, and optionally, one or more additional processor(s) 302′ and associated core(s) 304′ (for example, in the case of computer systems having multiple processors/cores), for executing computer-readable and computer-executable instructions or software stored in the memory 306 and other programs for controlling system hardware. Processor 302 and processor(s) 302′ can each be a single core processor or multiple core (304 and 304′) processor.

Virtualization can be employed in the computing device 300 so that infrastructure and resources in the computing device can be shared dynamically. A virtual machine 314 can be provided to handle a process running on multiple processors so that the process appears to be using only one computing resource rather than multiple computing resources. Multiple virtual machines can also be used with one processor.

Memory 306 can include a computer system memory or random access memory, such as DRAM, SRAM, EDO RAM, and the like. Memory 306 can include other types of memory as well, or combinations thereof. An individual can interact with the computing device 300 through a visual display device 318, such as a touch screen display or computer monitor, which can display, via a graphical user interface 322, one or more user interfaces 319 for receiving data from the individual (e.g., an input for ordered physical items or free physical items). In some embodiments, the visual display device 318 can act as an input device. The visual display device 318 can also display other aspects, elements and/or information or data associated with exemplary embodiments. The computing device 300 can include other I/O devices for receiving input from a individual, for example, a keyboard or another suitable multi-point touch interface 308, a pointing device 310 (e.g., a pen, stylus, mouse, or trackpad). The multi-point touch interface 308 and the pointing device 310 can be coupled to the visual display device 318. The computing device 300 can include other suitable conventional I/O peripherals.

The computing device 300 can also include one or more storage devices 324, such as a hard-drive, CD-ROM, or other computer readable media, for storing data and computer-readable instructions and/or software, that implements exemplary embodiments of the system as described herein (e.g., the fulfillment system, API 130), or portions thereof, which can be executed to generate user interface 319 on display 318. Exemplary storage device 324 can also store one or more databases for storing suitable information required to implement exemplary embodiments. The databases can be updated by an individual or automatically at a suitable time to add, delete, or update one or more items in the databases. Exemplary storage device 324 can store one or more databases 326 for storing data, and other data/information used to implement exemplary embodiments of the systems and methods described herein.

The computing device 300 can include a network interface 312 configured to interface via one or more network devices 320 with one or more networks, for example, Local Area Network (LAN), Wide Area Network (WAN) or the Internet through a variety of connections including, but not limited to, standard telephone lines, LAN or WAN links (for example, 802.11, T1, T3, 56kb, X.25), broadband connections (for example, ISDN, Frame Relay, ATM), wireless connections, controller area network (CAN), or some combination of any or all of the above. The network interface 312 can include a built-in network adapter, network interface card, PCMCIA network card, card bus network adapter, wireless network adapter, USB network adapter, modem or another device suitable for interfacing the computing device 300 to a type of network capable of communication and performing the operations described herein. Moreover, the computing device 300 can be a computer system, such as a workstation, desktop computer, server, laptop, handheld computer, tablet computer (e.g., the iPad® tablet computer), mobile computing or communication device (e.g., the iPhone® communication device), or other form of computing or telecommunications device that is capable of communication and that has sufficient processor power and memory capacity to perform the operations described herein.

The computing device 300 can run an operating system 316, such as versions of the Microsoft® Windows® operating systems, the different releases of the Unix and Linux operating systems, a version of the MacOS® for Macintosh computers, an embedded operating system, a real-time operating system, an open source operating system, a proprietary operating system, an operating systems for mobile computing devices, or another operating system capable of running on the computing device and performing the operations described herein. In exemplary embodiments, the operating system 316 can be run in native mode or emulated mode. In an exemplary embodiment, the operating system 316 can be run on one or more cloud machine instances.

FIGS. 4A-4B are flow diagrams showing illustrative processing that can be implemented within a system for receiving, storing, and dispensing free physical items from an autonomous storage and retrieval tower in an exemplary embodiment. Rectangular elements are herein denoted “processing blocks” and represent computer software instructions or groups of instructions. Alternatively, the processing blocks may represent steps performed by functionally equivalent circuits such as a digital signal processor (DSP) circuit or an application specific integrated circuit (ASIC). The flow diagrams do not depict the syntax of any particular programming language but rather illustrate the functional information one of ordinary skill in the art requires to fabricate circuits or to generate computer software to perform the processing required of the particular apparatus. It should be noted that many routine program elements, such as initialization of loops and variables and the use of temporary variables may be omitted for clarity. The particular sequence of blocks described is illustrative only and can be varied without departing from the spirit of the concepts, structures, and techniques sought to be protected herein. Thus, unless otherwise stated, the blocks described below are unordered meaning that, when possible, the functions represented by the blocks can be performed in any convenient or desirable order.

FIG. 4A is a flow diagram illustrating a process for storing a free physical item in the autonomous storage and retrieval tower in accordance with an example embodiment. The controller of the storage tower operates in a normal operating mode at the beginning of the process. At step 402, the controller of the storage tower receives an input from the input device. The input is associated with storing a free physical item in the autonomous storage and retrieval tower. At step 404, the controller analyzes the input for a specified character or sequence of characters in an identifier included in the input, wherein the specified identifier is associated with storing a free physical item not associated with an order. At step 406, the controller identifies the specified identifier in the input. At step 408, the controller enters an exception operating state and disables or does not engage the application programming interface (API) associated with the storage to communicate with the fulfillment server. The fulfillment server tracks physical items within the autonomous storage and retrieval tower. At step 410, the controller instructs storing of the free physical item associated with the input, wherein the free physical item is received in the storage receptacle of the storage tower and stored in the autonomous storage tower. For example, the crane retrieves the free physical item from the storage receptacle and transports the free physical item on the shaft to a shelf to store the free physical item in the storage tower. At step 412, the controller re-enters the normal operating mode and enables the API.

FIG. 4B is a flow diagram illustrating a process for dispensing a free physical item from the autonomous storage and retrieval tower in accordance with an example embodiment. The controller of the storage tower operates in a normal operating mode at the beginning of the process. At step 414, a controller receives an input from the input device. The input is entered by a user for retrieving a free physical item from the storage tower. At step 416, the controller analyzes the input for a specified character or sequence of characters in an identifier included in the input, wherein the specified identifier is associated with retrieving a free physical item not associated with an order. At step 418, the controller identifies the specified identifier in the input. At step 420, the controller enters an exception operating mode and disables or does not engage the application programming interface (API) of the storage tower to communicate with the fulfillment server for tracking the physical items within the storage tower. At step 422, the controller instructs retrieval of the free physical item associated with the input, wherein the free physical item is placed in the storage receptacle. For example, the crane retrieves the free physical item from a shelf in the storage tower and transports the free physical item on the shaft to storage receptacle in the storage tower to dispense the free physical item from the storage receptacle. At step 424, the controller re-enters the normal mode of operation and enables or re-engages the API.

The description is presented to enable a person skilled in the art to create and use a computer system configuration and related method and systems for receiving, storing, and dispensing free physical items from an autonomous storage and retrieval tower. Various modifications to the example embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Moreover, in the following description, numerous details are set forth for the purpose of explanation. However, one of ordinary skill in the art will realize that the invention may be practiced without the use of these specific details. In other instances, well-known structures and processes are shown in block diagram form in order not to obscure the description of the invention with unnecessary detail. Thus, the present disclosure is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.

In describing exemplary embodiments, specific terminology is used for the sake of clarity. For purposes of description, each specific term is intended to at least include all technical and functional equivalents that operate in a similar manner to accomplish a similar purpose. Additionally, in some instances where a particular exemplary embodiment includes a plurality of system elements, device components or method steps, those elements, components or steps can be replaced with a single element, component, or step. Likewise, a single element, component, or step can be replaced with a plurality of elements, components, or steps that serve the same purpose. Moreover, while exemplary embodiments have been shown and described with references to particular embodiments thereof, those of ordinary skill in the art will understand that various substitutions and alterations in form and detail can be made therein without departing from the scope of the invention. Further still, other aspects, functions, and advantages are also within the scope of the invention.

Exemplary flowcharts have been provided herein for illustrative purposes and are non-limiting examples of methods. One of ordinary skill in the art will recognize that exemplary methods can include more or fewer steps than those illustrated in the exemplary flowcharts, and that the steps in the exemplary flowcharts can be performed in a different order than the order shown in the illustrative flowcharts.

Having described certain embodiments, which serve to illustrate various concepts, structures, and techniques sought to be protected herein, it will be apparent to those of ordinary skill in the art that other embodiments incorporating these concepts, structures, and techniques may be used. Elements of different embodiments described hereinabove may be combined to form other embodiments not specifically set forth above and, further, elements described in the context of a single embodiment may be provided separately or in any suitable sub-combination. Accordingly, it is submitted that the scope of protection sought herein should not be limited to the described embodiments but rather should be limited only by the spirit and scope of the following claims. Other technical advantages may become readily apparent to one of ordinary skill in the art after review of the following figures and description. 

What is claimed is:
 1. An autonomous storage and retrieval system, the system comprising: a plurality of storage locations, each of the storage locations configured to support one or more physical items purchased by one or more customers; a receptacle for receiving the one or more physical items to be stored by the autonomous storage and retrieval system for outputting the one or more physical items from the autonomous storage and retrieval system; an application programming interface (API) in communication with a fulfillment server for tracking at least one physical item of the one or more physical items within the autonomous storage and retrieval system; an input device for receiving an input from a user for storing or retrieving a physical item of the one or more physical items from the autonomous storage and retrieval system; a controller in communication with the API, the controller configured to operate in a normal mode of operation or an exception mode of operation, wherein the controller is configured to: receive the input from the input device for storing the physical item in the autonomous storage and retrieval system; analyze the input for a specified identifier, wherein the specified identifier is associated with storing a free physical item not purchased by the one or more customers; identify the specified identifier in the input; transition from the normal mode of operation to the exception mode of operation; disable the API; instruct storing of the free physical item associated with the input wherein the free physical item is retrieved from the receptacle; transition from the exception mode of operation to the normal mode of operation; and enable the API.
 2. The system of claim 1, wherein the controller is further configured to: receive the input from the input device for retrieving the physical item from the autonomous storage and retrieval system; analyze the input for a specified identifier, wherein the specified identifier is associated with retrieving the free physical item not purchased by the one or more customers; identify the specified identifier in the input; transition from the normal mode of operation to the exception mode of operation; disable the API; instruct retrieval of the free physical item associated with the input, wherein the free physical item is placed in the receptacle; transition from the exception mode of operation to the normal mode of operation; and enable the API.
 3. The system of claim 1, wherein the free physical item is a free gift dispensed to the one or more customers.
 4. The system of claim 1, wherein the input is an alpha-numerical code.
 5. The system of claim 4, wherein the specified identifier is one or more letters or one or more numbers included within the alpha-numerical code.
 6. The system of claim 4, wherein the alpha-numeric code is decoded from a barcode.
 7. The system of claim 1, wherein the disabling of the API prevents the autonomous storage and retrieval tower from communicating with the fulfillment server.
 8. The system of claim 1, wherein the autonomous storage and retrieval system is a tower having a hosing.
 9. The system of claim 8, wherein the storage locations are shelves.
 10. The system of claim 1, wherein the free physical item is retrieved from the receptacle onto a tray.
 11. A method of storing and retrieving one or more physical items, the method comprising: providing a plurality of storage locations, each of the storage locations configured to support one or more physical items purchased by one or more customers; providing a receptacle for receiving the one or more physical items to be stored by the autonomous storage and retrieval system for outputting the one or more physical items from the autonomous storage and retrieval system; providing an application programming interface (API) in communication with a fulfillment server for tracking at least one physical item of the one or more physical items within the autonomous storage and retrieval system; providing an input device for receiving an input from a user for storing or retrieving a physical item of the one or more physical items from the autonomous storage and retrieval system; providing a controller in communication with the API, the controller configured to operate in a normal mode of operation or an exception mode of operation; by the controller: receiving the input from the input device for storing the physical item in the autonomous storage and retrieval system; analyzing the input for a specified identifier, wherein the specified identifier is associated with storing a free physical item not purchased by the one or more customers; identifying the specified identifier in the input; transitioning from the normal mode of operation to the exception mode of operation; disabling the API; instructing storing of the free physical item associated with the input wherein the free physical item is retrieved from the receptacle; transitioning from the exception mode of operation to the normal mode of operation; and enabling the API.
 12. The method of claim 11, further comprising, by the controller: receiving the input from the input device for retrieving the physical item from the autonomous storage and retrieval system; analyzing the input for a specified identifier, wherein the specified identifier is associated with retrieving the free physical item not purchased by the one or more customers; identifying the specified identifier in the input; transitioning from the normal mode of operation to the exception mode of operation; disabling the API; instructing retrieval of the free physical item associated with the input, wherein the free physical item is placed in the receptacle; transitioning from the exception mode of operation to the normal mode of operation; and enabling the API.
 13. The method of claim 11, wherein the free physical item is a free gift dispensed to the one or more customers.
 14. The method of claim 11, wherein the input is an alpha-numerical code.
 15. The method of claim 14, wherein the specified identifier is one or more letters or one or more numbers included within the alpha-numerical code.
 16. The method of claim 14, wherein the alpha-numeric code is decoded from a barcode.
 17. The method of claim 11, wherein the disabling of the API prevents the autonomous storage and retrieval tower from communicating with the fulfillment server.
 18. The method of claim 11, wherein the autonomous storage and retrieval system is a tower having a hosing.
 19. The method of claim 18, wherein the storage locations are shelves.
 20. The method of claim 11, further comprising retrieving the free physical item from the receptacle onto a tray. 